<?php
/**
 * mint组件接口
 *
 * @version $Id: IMintComponent.php 312 2008-04-23 16:29:38Z iwind $
 * @package util.mint.component
 */
interface IMintComponent {
	/**
	 * 处理组件，并返回是否成功
	 * 
	 * @return boolean
	 */
	public function process();	
	
	/**
	 * 设置组件的节点
	 *
	 * @param DOMElement $element DOM元素
	 */
	public function setNode(DOMElement $element);
	
	/**
	 * 设置组件的数据集
	 *
	 * @param IMintDataSet &$dataSet 数据集
	 */
	public function setDataSet(IMintDataSet &$dataSet);
	
	/**
	 * 设置组件所在的模板
	 *
	 * @param IMintTemplate $template mint模板
	 */
	public function setTemplate(IMintTemplate $template);
	
	/**
	 * 检验
	 * 
	 * 可以进行一以下操作
	 * - 检验组件之间的关联
	 * - 检验组件之间的相互包含关系
	 *
	 * @return boolean
	 * @since 0.0.3
	 */
	public function validate();
}

?>